/*
 * @description: 
 * @Author: FengKongLi
 * @Date: 2022-08-01 10:05:23
 * @LastEditors: FengKongLi
 * @LastEditTime: 2022-08-01 10:30:58
 */
import Vue from 'vue'
import upperFirst from 'lodash/upperFirst'
import camelCase from 'lodash/camelCase'
//这里的三个参数分别是 1.其组件目录的相对路径
// 2.是否查询子目录,也就是下下一级目录
// 3.匹配组件的正则表达式
const requireComponent = require.context('./', false, /\.vue$/)

requireComponent.keys().forEach(fileName => {
// 获取组件配置
  const componentConfig  = requireComponent(fileName) 
// 获取组件的PascalCase命名
const componentName = upperFirst(camelCase(fileName.split('/').pop().replace(/\.\w+$/,'')))
  // 最后使用内置的组件名称 进行全局组件注册(这里需要注意因为是通过组件name注册的,所以每个组件都必须有name属性)
  Vue.component(componentName, componentConfig.default ||componentConfig)
})

